home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d17 / sqc250.arc / SQC250.DOC < prev    next >
Text File  |  1991-12-08  |  16KB  |  463 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.                                    SQC v2.50
  10.                          The Advanced Printer Utility
  11.                    Copyright (C) 1990-1991 Daniel Baumberger
  12.                            Dynamic Designs Software
  13.  
  14.  
  15.        STANDARD DISCLAIMER:
  16.        ====================
  17.             This  software  is provided  AS-IS.   There is  NO warranty,
  18.        either  expressed or implied.   Damage resulting  from the use or
  19.        misuse of this software is NOT a responsibility of the author.
  20.  
  21.        INTRODUCTION
  22.        ============
  23.             SQC  is a powerful printer utility that allows printer codes
  24.        to  be sent to the  printer from the MS-DOS  command line.  Codes
  25.        may  be  specified  by pre-defined  opcodes,  literal characters,
  26.        and/or decimal, hexadecimal, or octal ASCII codes.
  27.             SQC  also  allows printing  of  files with  or  without page
  28.        breaks.   The user can specify the number of lines per page.  SQC
  29.        will then insert page breaks after the specified number of lines.
  30.        SQC  also supports "continuous" printing, i.e. files that already
  31.        are formatted. 
  32.             Version 2.50 adds more features to the list.  A totally new,
  33.        object-oriented  printer  interface was  designed  for SQC.   The
  34.        printer  "object" controls the printer at  the BIOS level.  Error
  35.        checking  is done on the character  by character basis.  SQC will
  36.        NOT print a character if the printer won't accept it.
  37.             When  run with no command line arguments, SQC will print the
  38.        current  status as  returned by  BIOS and  what it  means to you.
  39.        This is helpful in figuring out what is wrong with your printer.
  40.             New  command lines  switches were  added: /PRINT,  /LEN, and
  41.        /CHECK.   /PRINT is  the same as /P:.   /LEN is  the same as /L:.
  42.        /CHECK  replaces  the  old "/C"  parameter.   /CHECK  also  has a
  43.        shorter  form.  Refer to the  sections on COMMAND LINE PARAMETERS
  44.        for syntax.
  45.             SQC  now supports more printer ports.   LPT1, LPT2, and LPT3
  46.        are  directly supported.  They are  specified by the /LPT# switch
  47.        described below.
  48.             Some items were dropped out of SQC v2.50.  The numerous help
  49.        files  are gone.  The main help  is now accessible through the /?
  50.        switch,  as used  in MS-DOS 5.0.   The  environment variables are
  51.        gone.   In v3.0,  a new environment  variable will be introduced.
  52.        It  will be a mini command line that gets executed EVERY time SQC
  53.        is run.
  54.             Upon  removal of  these features,  SQC's .EXE  file size was
  55.        reduce almost 50%!
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.        GENERAL SYNTAX
  74.        ==============
  75.             SQC's syntax looks like this:
  76.  
  77.        SQC [/Options] [Codes/Opcodes]
  78.  
  79.        The Options include:
  80.          /C[ON | OFF]      <- Turn printer checking on/off
  81.          /CHECK=[ON | OFF] <- Turn printer checking on/off
  82.          /LPT#             <- Select LPT port #
  83.          /P:fs             <- Print files matching fs
  84.          /PRINT=fs         <- Print files matching fs
  85.          /L:#              <- Set the pagelength to #
  86.          /LEN=#            <- Set the pagelength to #
  87.          /?                <- Display a help screen with Options
  88.  
  89.        SQC  will display the current status of the printer when run with
  90.        no  command line parameters  or options.   See PRINTER STATUS for
  91.        details.
  92.  
  93.        Codes  are explained in the section CODES.  Opcodes are explained
  94.        in the section OPCODES.
  95.  
  96.        PRINTER CHECKING
  97.        ================
  98.             By  default,  SQC  checks with  the  BIOS to  make  sure the
  99.        printer  is ready.   If not, SQC will  display a message allowing
  100.        you  to  fix the  problem  or abort  the  program.   With printer
  101.        checking  off, SQC prints  the character via the  BIOS.  The BIOS
  102.        will  sit  and wait  until the  printer is  ready, or  forever if
  103.        necessary.    Due to  this,  it is  better  to leave  the printer
  104.        checking  on.  However, printer checking does cause a little time
  105.        overhead because it makes a BIOS call and does some checking.
  106.             To  turn the  printer checking  off, you  can use  either of
  107.        these two forms:
  108.  
  109.        SQC /COFF
  110.        SQC /CHECK=OFF
  111.  
  112.             Either  way is correct.   NOTE: Turning printer checking off
  113.        by  the  switch  ONLY turns  it  off  for that  execution  of the
  114.        program.   The  next time  SQC is run,  it will  use the standard
  115.        defaults.
  116.  
  117.             Similarly,  the printer checking can  be turned on in either
  118.        of these two forms:
  119.  
  120.        SQC /CON
  121.        SQC /CHECK=ON
  122.  
  123.             Using  these switches, one can turn the printer checking off
  124.        for some parameters and on for others.  For example,
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.        SQC /COFF ESC @ /CON /PRINT=*.DOC
  140.  
  141.             In  this example, the printer checking  is turned off and an
  142.        opcode (escape) and a character are sent.  Then, printer checking
  143.        is re-established and SQC will print all the files matching *.DOC
  144.        with printer checking.
  145.             NOTE:  Case is  insignificant.  /CON  = /con =  /CoN = /cOn,
  146.        etc.
  147.  
  148.        SELECTING A PORT
  149.        ================
  150.             SQC v2.50 now allows other LPT ports to be used.  To specify
  151.        a different port, use the /LPT# command.  # should be replaced by
  152.        the  number of the port.  Valid ports  are 1, 2, and 3.  Anything
  153.        else will generate an error.  For example,
  154.  
  155.        SQC /LPT2 ESC @ /LPT1 /PRINT=*.TXT
  156.  
  157.             In  this  example,  ESC  and '@'  are  sent  to  the printer
  158.        connected  to  LPT2:.    Then,  all  .TXT  files  in  the current
  159.        directory   are  printed  on  LPT1:.    Again,  case  of  LPT  is
  160.        insignificant.
  161.  
  162.        PRINTING FILES
  163.        ==============
  164.             SQC  can  print  files with  or  without page  breaks.   SQC
  165.        supports   any  size  pages.    A  size  of  0  will  generate  a
  166.        "continuous"  printout.  SQC will not send form feeds to skip the
  167.        partitions.    The  default  in  SQC  v2.50  is  now  continuous.
  168.        Continuous  printing can be  used for files  that already contain
  169.        page formatting commands.
  170.             Two switches are available to specify the file specification
  171.        to  print: /P:  and /PRINT=.   /P: was used  in previous version.
  172.        /PRINT=  is ONLY  available in  v2.50.   Both take  a MS-DOS file
  173.        specification.   A file specification can be a single filename or
  174.        use  either  or both  of  the MS-DOS  wildcards:  ? and  *.   For
  175.        example,  *.DOC  specifies  all  files  with  the  DOC extension.
  176.        A??.A?? will print any files that start with and a, have two more
  177.        characters,  and have an extension that  starts with an A and has
  178.        two  more  characters.    This  will  match  files  like AAA.AAA,
  179.        AZZ.ABC, etc.
  180.             In version 2.50, SQC defaults to continuous print.  To split
  181.        pages after so many lines, one uses the /L: or /LEN= parameter.
  182.             Here are some examples of printing commands:
  183.  
  184.        SQC /LEN=60 /PRINT *.MOD
  185.        SQC /L:0 /P:*.?
  186.  
  187.             The first example prints all .MOD (Modula-2) files splitting
  188.        pages after 60 lines.  The second example continuously prints all
  189.        files  with a  one character extension.   NOTE: SQC  sends a form
  190.        feed  to the printer between files so  that each file starts on a
  191.        new page.
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.             What  happens if  you start printing  and find  out that you
  206.        don't want to print the files?  Pressing a key aborts printing of
  207.        the current file only.  Pressing a key many times will abort more
  208.        files.   At  present, there  is no way  to abort  the whole print
  209.        process  (unless you turn off the  printer and select the "abort"
  210.        option when SQC reports an error).
  211.  
  212.        CODES
  213.        =====
  214.             Codes   can  be  in  one   of  four  forms:  decimal  ASCII,
  215.        hexadecimal  ASCII, octal ASCII, and literal characters.  Here is
  216.        the  logic that SQC uses to determine which category a code falls
  217.        under:
  218.  
  219.        (1)  If the length of the code is 1, then it is sent "as-is" as a
  220.        literal character.
  221.  
  222.        (2)  If the code starts with a 1, 2, 3, 4, 5, 6, 7, 8, or 9, then
  223.        it is processed as a decimal ASCII code.
  224.  
  225.        (3) If the code starts with a 0X or a 0x, then it is processed as
  226.        a hexadecimal ASCII code.
  227.  
  228.        (4)  If the code starts with a 0 (and is NOT followed by an 'x'),
  229.        then it is processed as an octal ASCII code.
  230.  
  231.        (5)  If all these fail, then it  is processed as an opcode (or an
  232.        error).
  233.  
  234.             Here is an example:
  235.  
  236.        SQC 0x1B @ 120 061
  237.  
  238.             SQC  will  send  0x1B,  or  the  escape  character,  the '@'
  239.        character  (ASCII 64), the decimal code  120 ('x'), and the octal
  240.        code 061 ('1').
  241.  
  242.        OPCODES
  243.        =======
  244.             SQC  has 32 predefined opcodes.  They are the standard ASCII
  245.        names  for the  control codes.   Since  most of  these characters
  246.        cannot  be displayed,  SQC will  substitute their  opcode name in
  247.        their  place.  Here are the predefined opcodes and their decimal,
  248.        hexadecimal, and octal values.
  249.             Codes  marked with '*' are not  accessible using SQC.  These
  250.        are  the single digit decimal codes.  They will be interpreted as
  251.        characters  '1' through '9'.  Use  the octal or hexadecimal value
  252.        instead.
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.        OPC  Dec  Hex  Oct  What is It?
  272.        ============================================================
  273.        NUL   *   0x00 00   The "NULL" character
  274.        SOH   *   0x01 01   Start Of Header
  275.        STX   *   0x02 02   Start TeXt
  276.        ETX   *   0x03 03   End of TeXt
  277.        EOT   *   0x04 04   End Of Transmission
  278.        ENQ   *   0x05 05   Inquiry
  279.        ACK   *   0x06 06   Acknowledgment
  280.        BEL   *   0x07 07   The Bell Character
  281.        BS    *   0x08 10   BackSpace
  282.        HT    *   0x09 11   Horizontal Tab
  283.        LF   10   0x0A 12   Line Feed
  284.        VT   11   0x0B 13   Vertical Tab
  285.        FF   12   0x0C 14   Form Feed
  286.        CR   13   0x0D 15   Carriage Return
  287.        SO   14   0x0E 16   Shift Out
  288.        SI   15   0x0F 17   Shift In
  289.        DLE  16   0x10 20   Data Link Escape
  290.        DC1  17   0x11 21   Device Control 1
  291.        DC2  18   0x12 22   Device Control 2
  292.        DC3  19   0x13 23   Device Control 3
  293.        DC4  20   0x14 24   Device Control 4
  294.        NAK  21   0x15 25   Negative Acknowledgement
  295.        SYN  22   0x16 26   Synchronous Idle
  296.        ETB  23   0x17 27   End of Transmission Block
  297.        CAN  24   0x18 30   Cancel
  298.        EM   25   0x19 31   End of Medium
  299.        SUB  26   0x1A 32   Substitute
  300.        ESC  27   0x1B 33   Escape
  301.        FS   28   0x1C 34   File Separator
  302.        GS   29   0x1D 35   Group Separator
  303.        RS   30   0x1E 36   Record Separator
  304.        US   31   0x1F 37   Unit Separator
  305.        SP   32   0x20 40   Space
  306.  
  307.        PRINTER STATUS
  308.        ==============
  309.             New  to  SQC v2.50  is  printer status.    When run  with no
  310.        command  line arguments, SQC will display  what the BIOS says the
  311.        current state of your printer.
  312.             A  "normal" status value should be 144.  That means that the
  313.        printer  is NOT busy, and the printer  is selected.  Here are the
  314.        other errors that can be returned and what could cause them.
  315.  
  316.        "Busy"  : That usually means that  the printer is currently doing
  317.        something.   SQC can compensate for  this when printing codes and
  318.        files so other than the status, it will not occur.
  319.  
  320.        "Not  Busy"  :  The  printer  isn't  doing  anything  (or  so  it
  321.        thinks...).
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.        "Acknowledge"  : Other than the name,  this one is not used much.
  338.        I  do not know in what cases  it would be generated.  However, it
  339.        is included because BIOS can return it.
  340.  
  341.        "Out  of Paper" : This one is more obvious.  However, it can also
  342.        occur  when the printer  is off.  Other  errors will be generated
  343.        when  the printer is  off so this  one is used  for what its name
  344.        says.
  345.  
  346.        "Selected"  :  This is  one the  "normal"  returns.   The printer
  347.        should always be selected.  If not, then some error has occurred.
  348.        Other errors should describe the problem.
  349.  
  350.        "I/O  Error" : Another obvious one.  The printer is either off or
  351.        off line.  It could also be that the printer is not hooked up (or
  352.        non-existant).
  353.  
  354.        "Time-out"  : Obvious name, unobvious  function.  This is another
  355.        status  that is rarely generated.  It could be generated when the
  356.        printer  is  off or  off line.   It  depends on  the BIOS  of the
  357.        machine.
  358.  
  359.        REGISTRATION
  360.        ============
  361.             SQC  is  NOT a  free program.    It is  shareware.   You are
  362.        granted  a limited  license to  use SQC to  see if  it meets your
  363.        needs.   After 30 days, you  are required to register the program
  364.        with the author.  Complete registration is $10 including two free
  365.        updates.    Registered  users also  receive  other  programs from
  366.        Dynamic  Designs Software.  To register, send a check (payable to
  367.        DANIEL BAUMBERGER) to:
  368.  
  369.                                Daniel Baumberger
  370.                            Dynamic Designs Software
  371.                             811 South Nevada Drive
  372.                             Longview, WA 98632-5611
  373.  
  374.        Please include the version number that you have.
  375.  
  376.             As  always, questions,  comments, suggestions,  and problems
  377.        are welcome!!  Write or E-Mail and I will see what I can do.
  378.  
  379.        I can also be reached via E-Mail (Internet) at this address:
  380.  
  381.                             baumb@cs.washington.edu
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.        INTO THE FUTURE
  404.        ===============
  405.             What  is coming?   The ideas that I  have are an environment
  406.        variable  that acts as a "mini-command  line" to be executed each
  407.        time  SQC is  run.   User defined  opcodes or  macros are another
  408.        possibility.  I am also thinking of an "interpreter" mode.  Also,
  409.        command files specifying commands and other things.
  410.             If  you have  things that you  would like to  see, write the
  411.        address  above  or send  E-Mail  to the  Internet  address above.
  412.        NOTE:  the  E-Mail address  is temporary.    It will  expire upon
  413.        graduation  from the University of Washington.  Right now... that
  414.        date is uncertain.
  415.  
  416.        OTHER PROGRAMS FROM DYNAMIC DESIGNS
  417.        ===================================
  418.             There  are two  other programs  being distributed  under the
  419.        Dynamic Designs Software label: SQM and DDPC.
  420.             DDPC  stands for Dynamic  Designs Park Controller.   It will
  421.        park  up to 32,767 hard discs installed  in a system!  DDPC v2.50
  422.        (release  at the same  time as SQC 2.50)  also supports a screen-
  423.        saver  mode.   It  will also  display  information on  all drives
  424.        installed on the system.
  425.             SQM is a mouse utility for MS-MOUSE compatible mouse systems
  426.        (including Logitech).  It allows MANY options in using the mouse:
  427.        speeding  it  up,  slowing  it  down,  disabling  it  altogether,
  428.        enabling,  a  "test" mode  to  see what  speed  is best  for you,
  429.        saving/loading   states  so  that  different  programs  can  have
  430.        different settings.
  431.             Upon registration of SQC, you will automatically receive the
  432.        others.
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.